package razerdp.util; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.view.View; import android.view.animation.AccelerateInterpolator; import android.view.animation.AlphaAnimation; import android.view.animation.Animation; import android.view.animation.ScaleAnimation; import android.view.animation.TranslateAnimation; /** * Created by 大灯泡 on 2017/1/13. */ public class SimpleAnimUtil { /** * 生成TranslateAnimation * * @param durationMillis 动画显示时间 * @param start 初始位置 */ public static Animation getTranslateAnimation(int start, int end, int durationMillis) { Animation translateAnimation = new TranslateAnimation(0, 0, start, end); translateAnimation.setDuration(durationMillis); translateAnimation.setFillEnabled(true); translateAnimation.setFillAfter(true); return translateAnimation; } /** * 生成ScaleAnimation * * time=300 */ public static Animation getScaleAnimation(float fromX, float toX, float fromY, float toY, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue) { Animation scaleAnimation = new ScaleAnimation(fromX, toX, fromY, toY, pivotXType, pivotXValue, pivotYType, pivotYValue ); scaleAnimation.setDuration(300); scaleAnimation.setFillEnabled(true); scaleAnimation.setFillAfter(true); return scaleAnimation; } /** * 生成自定义ScaleAnimation */ public static Animation getDefaultScaleAnimation() { Animation scaleAnimation = new ScaleAnimation(0f, 1f, 0f, 1f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f ); scaleAnimation.setDuration(300); scaleAnimation.setInterpolator(new AccelerateInterpolator()); scaleAnimation.setFillEnabled(true); scaleAnimation.setFillAfter(true); return scaleAnimation; } /** * 生成默认的AlphaAnimation */ public static Animation getDefaultAlphaAnimation() { Animation alphaAnimation = new AlphaAnimation(0.0f, 1.0f); alphaAnimation.setDuration(300); alphaAnimation.setInterpolator(new AccelerateInterpolator()); alphaAnimation.setFillEnabled(true); alphaAnimation.setFillAfter(true); return alphaAnimation; } /** * 从下方滑动上来 */ public static AnimatorSet getDefaultSlideFromBottomAnimationSet(View mAnimaView) { AnimatorSet set = null; set = new AnimatorSet(); if (mAnimaView != null) { set.playTogether( ObjectAnimator.ofFloat(mAnimaView, "translationY", 250, 0).setDuration(400), ObjectAnimator.ofFloat(mAnimaView, "alpha", 0.4f, 1).setDuration(250 * 3 / 2) ); } return set; } }